const defaultLineStyle = {
  'type': 'line',
  'paint': {
    'line-blur': 4,
    'line-color': '#8D8D8D',
    'line-opacity': 1,
    'line-width': 8
    // 'line-dasharray': [2, 2]
    // 'line-pattern': borderPng//  resolvedImage.
  },
  'layout': {
    'visibility': 'visible'
  }
}

/**
 * 添加线图层
 * @param {map} map 地图对象
 * @param {string} id 图层id，唯一值
 * @param {string} sourceUrl 数据地址
 * @param {object} style 图层样式；可选属性
 */
export function addLine(map, id, sourceUrl, style = copyStyle(defaultLineStyle)) {
  style.id = 'layer-' + id
  style.source = 'source-' + id

  map.addSource('source-' + id, {
    type: 'geojson',
    data: sourceUrl
  })

  map.addLayer(style)
}

function copyStyle(style) {
  return JSON.parse(JSON.stringify(style))
}

export function getLineStyle() {
  return copyStyle(defaultLineStyle)
}
